package phases

import (
	common "cke.io/ckectl/app/cmd/phases"
	"k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow"
)

// NewKubeletStartPhase creates a kubeadm workflow phase that start kubelet on a node.
func NewUpdateEtchostsPhase() workflow.Phase {
	return common.CommonPhase("scale", "update-etchosts")
}

// NewKubeletStartPhase creates a kubeadm workflow phase that start kubelet on a node.
func NewIptabelsScalePhase() workflow.Phase {
	return common.CommonPhase("scale", "iptables-scale")
}

// NewKubeletStartPhase creates a kubeadm workflow phase that start kubelet on a node.
func NewAfterScaleUpPhase() workflow.Phase {
	return common.CommonPhase("scale", "after-scale-up")
}

// NewKubeletStartPhase creates a kubeadm workflow phase that start kubelet on a node.
func NewScalePhase() workflow.Phase {
	return common.CommonPhase("scale", "scale")
}

// NewKubeletStartPhase creates a kubeadm workflow phase that start kubelet on a node.
func NewMonitorsPhase() workflow.Phase {
	return common.CommonPhase("scale", "monitors")
}

// scale etcd nodes
func NewEtcdScalePhase() workflow.Phase {
	return common.CommonPhase("scale", "etcd-scale")
}

// scale master nodes
func NewMasterScalePhase() workflow.Phase {
	return common.CommonPhase("scale", "master-scale")
}